home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / grafik / 3d & render tools / irit / man / man6 / ccrvtr.6 < prev    next >
Text File  |  1996-07-16  |  2KB  |  65 lines

  1. .TH CCRVTR
  2.  6 "IRIT Version 6.0" 
  3. .SH NAME
  4. CCRVTR
  5.  
  6.  
  7.  
  8.  NumericType CCRVTR( CurveType Crv, NumericType Epsilon )
  9.  
  10.  or
  11.  
  12.  CurveType CCRVTR( CurveType Crv, NumericType Epsilon )
  13.  
  14. Computes the extreme curvature points on Crv in the XY plane.
  15. This set includes not only points of maximum (convexity) and mimumum
  16. (concavity) curvature, but also points of zero curvature such as
  17. inflection points.
  18. Since this operation is partially numeric, Epsilon is used to set
  19. the needed accuracy. It returns the parameter value(s) of the location(s)
  20. with extreme curvature along the Crv.
  21. If, however, Epsilon is negative, the curvature scalar field
  22. curve is returned as a two dimensional rational vector field curve, for
  23. which the first dimension is equal to the parameter, and the second is the
  24. curvature value at that parameter.
  25.  
  26.    This function computes the curvature scalar field for planar curves as,
  27.  
  28.           x' y'' - x'' y' 
  29.    k(t) = ----------------
  30.                2     2  3/2
  31.            ( x'  + y'  )
  32.  
  33.  and computes kN for three dimensional curves as the following vector field,
  34.  
  35.                                   C' x C''     C'    (C' x C'') x C'
  36.    k(t) N(t) = K(t) B(t) x T(t) = -------- x ----- = ---------------
  37.                                         3    | C' |            4
  38.                                    | C'|                 | C' |
  39.  
  40. The extremum values are extracted from the computed curvature field.
  41. This curvature field is a high order curve, even if the input geometry is
  42. of low order. This is especially true for rational curves, for which the
  43. quotient rule for differentiation is used and almost doubles the degree
  44. in every differentiation.
  45.  
  46. See also CZEROS, CEXTREMES, and SCRVTR.
  47.  
  48. Example:
  49.  
  50.  crv = cbezier( list( ctlpt( E2, -1.0,  0.5 ),
  51.                       ctlpt( E2, -0.5, -2.0 ),
  52.                       ctlpt( E2,  0.0,  1.0 ),
  53.                       ctlpt( E2,  1.0,  0.0 ) ) ) * rotz( 30 );
  54.  crvtr = CCRVTR( crv, 0.001 );
  55.  pt_crvtr = nil();
  56.  pt = nil();
  57.  for ( i = 1, 1, sizeof( crvtr ),
  58.      ( pt = ceval( crv, nth( crvtr, i ) ) ):
  59.      snoc( pt, pt_crvtr )
  60.  );
  61.  interact( list( crv, pt_crvtr ) );
  62.  
  63. finds the extreme curvature points in Crv and displays them all
  64. with the curve.
  65.